iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 20
0
自我挑戰組

向Android APP開發說Hello系列 第 20

Day 20. App的事件監聽 - Event Listener (part.2)

  • 分享至 

  • xImage
  •  

今天來實際建立一個Event Listener。

Event Listener建立步驟

整體來說,要建立一個Event Listener,步驟如下:

  • Step1. 定義Event Listener class,並實作方法邏輯
  • Step2. 建立Event Listener物件(用建構式)
  • Step3. 將Event Listener附加到View上

實際來做做看,假設在我們的activity_main.xml中有一個位於畫面中心的TextView,並且給予id(showToast)。

<TextView
    android:id="@+id/showToast"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="請點擊"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

我們想要使用者點擊這個TextView時,顯示一個Toast,步驟如下:

  • Step1. 定義Event Listener class,並實作方法邏輯
    在java路徑下新增一個ShowToastClickListener類別,來實作View.OnClickListener介面,並且實作其onClick()方法,內容便是顯示一個toast。
    https://ithelp.ithome.com.tw/upload/images/20181104/20107569rFduWtkbpU.jpg
package com.example.android.eventlistener_practice;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

// step1. 定義Event Listener class
public class ShowToastClickListener implements View.OnClickListener{
    @Override
    public void onClick(View view){
        Toast.makeText(view.getContext(),
                "開啟toast",
                Toast.LENGTH_SHORT).show();
    }
}
  • Step2. 建立Event Listener物件
    進入MainActivity.java,使用我們剛剛建好的ShowToastClickListener類別來建立物件clickListener。

  • Step3. 將Event Listener附加到View上
    建立TextView物件showToast,用其setOnClickListener()方法將我們的clickListener物件附加上去:

package com.example.android.eventlistener_practice;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // step2. 建立監聽器
        ShowToastClickListener clickListener = new ShowToastClickListener();

        TextView showToast = findViewById(R.id.showToast);

        // step3. 將監聽器附加到view
        showToast.setOnClickListener(clickListener);
    }
}

實際操作

當點擊中央的TextView時,便會顯示toast囉:
https://ithelp.ithome.com.tw/upload/images/20181104/20107569q9FmYoEINR.jpg


上一篇
Day 19. App的事件監聽 - Event Listener (part.1)
下一篇
Day 21. Array與日誌(Logcat)
系列文
向Android APP開發說Hello30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言